#include <QtGui/QVBoxLayout>
#include <QtGui/QFileDialog>

#include "mainwindow.h"
#include "ui_mainwindow.h"

//================================================================================================================================
//================================================================================================================================
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_Ui(new Ui::MainWindow)
{
    m_Ui->setupUi(this);
    QVBoxLayout *layout = new QVBoxLayout(m_Ui->m_Frame);
    layout->setMargin(0);
    m_GLWidget = new GLWidget(m_Ui->m_Frame);
    layout->addWidget(m_GLWidget);

    connect(m_Ui->m_OpenAction,SIGNAL(triggered()),this,SLOT(setMesh()));
    connect(m_Ui->m_ExitAction,SIGNAL(triggered()),qApp,SLOT(quit()));
    connect(m_Ui->m_AboutQtAction,SIGNAL(triggered()),qApp,SLOT(aboutQt()));
    connect(m_Ui->m_DefaultViewAction, SIGNAL(triggered()),m_GLWidget,SLOT(resetSceneLimits()));
}

//================================================================================================================================
//================================================================================================================================
void MainWindow::setMesh()
{
    QString filename = QFileDialog::getOpenFileName(this, tr("Открыть файл с сеткой"),qApp->applicationDirPath(),"Text files (*.txt)");
    if(!filename.isEmpty())
        m_GLWidget->paintMesh(filename);
}

//================================================================================================================================
//================================================================================================================================
MainWindow::~MainWindow()
{
    delete m_Ui;
}

//================================================================================================================================
//================================================================================================================================
void MainWindow::changeEvent(QEvent *e)
{
    QMainWindow::changeEvent(e);
    switch (e->type())
    {
    case QEvent::LanguageChange:
        m_Ui->retranslateUi(this);
        break;
    default:
        break;
    }
}

//================================================================================================================================
//================================================================================================================================
void MainWindow::on_m_Delaunay_toggled(bool checked)
{
    if(checked == true)
    {
        m_Ui->m_Frontal->setChecked(false);
        m_Ui->m_OpenAction->setDisabled(true);
        m_GLWidget->paintMesh(1);
    }
}

//================================================================================================================================
//================================================================================================================================
void MainWindow::on_m_Frontal_toggled(bool checked)
{
    if(checked == true)
    {
        m_Ui->m_Delaunay->setChecked(false);
        m_Ui->m_OpenAction->setEnabled(true);
        m_GLWidget->paintMesh(0);
    }
}
